#pragma once
#include "Window/IMsgFilter.h"

class CClipboardFilter
    : public IMsgFilter
    , public IShareDataListener
{
public:
    CClipboardFilter();
    virtual ~CClipboardFilter();

    virtual LRESULT process(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LPBOOL pbHandled);

    virtual bool OnDataChanged(DWORD dwStamp);

protected:
    void OnClipboardChanged();

protected:
    HWND        m_hWnd;
    HWND        m_hPrevWnd;
    DWORD       m_dwStamp;

    CopyData    m_data;
};